package com.ddw.meedeeuh.shared.movie.database;

public abstract class DBVideoFactory {

	public static DBVideo create(int videoId, int streamDetailsId,
			Double aspect, String codec, Integer width, Integer height) {
		return new DBVideoImpl(videoId, streamDetailsId, aspect, codec, width, height);
	}

	private static class DBVideoImpl implements DBVideo {

		private final int videoId;
		private final int streamDetailsId;
		private final Double aspect;
		private final String codec;
		private final Integer width;
		private final Integer height;

		public DBVideoImpl(int videoId, int streamDetailsId,
			Double aspect, String codec, Integer width, Integer height) {
			this.videoId = videoId;
			this.streamDetailsId = streamDetailsId;
			this.aspect = aspect;
			this.codec = codec;
			this.width = width;
			this.height = height;
		}

		@Override
		public String getCodec() {
			return this.codec;
		}

		@Override
		public Double getAspect() {
			return this.aspect;
		}

		@Override
		public Integer getWidth() {
			return this.width;
		}

		@Override
		public Integer getHeight() {
			return this.height;
		}

		@Override
		public int getVideoId() {
			return this.videoId;
		}

		@Override
		public int getStreamDetailsId() {
			return this.streamDetailsId;
		}

	}

}
